{% if isFramework("angular") %}
The interface for a custom floating filter component is as follows:

```ts
interface IFloatingFilterDisplayAngularComp {
    // Mandatory methods

    // The agInit(params) method is called on the floating filter once.
    // See below for details on the parameters.
    agInit(params: FloatingFilterDisplayParams): void;

    // Called when the column definition or model is updated.
    refresh(params: FloatingFilterDisplayParams): void;

    // Optional methods

    // Gets called every time the popup is shown, after the GUI returned in
    // getGui is attached to the DOM. This is useful for any logic that requires attachment
    // before executing, such as putting focus on a particular DOM element. 
    afterGuiAttached(params?: IAfterGuiAttachedParams): void;
}
```

### Custom Floating Filter Parameters

The `agInit(params)` / `refresh(params)` methods take a params object with the items listed below. If custom params are provided via the `colDef.floatingFilterComponentParams` property, these
will be additionally added to the params object, overriding items of the same name if a name clash exists.
{% /if %}
